// 引入jsonwebtoken
const jsonwebtoken = require("jsonwebtoken");
const secret = "admin"; // 密钥（创建token的密钥 和 解密token的密钥 一致即可）
const JWT = {
  /** generate(value, expires) 生成token
   *    value: 存储那些验证用户身份或权限所必需的信息;
   *    exprires: 过期时间
   */
  generate(value, expires) {
    return jsonwebtoken.sign(value, secret, { expiresIn: expires });
  },
  // 验证token
  verify(token) {
    try {//过期会报错，需要对错误做处理
      return jsonwebtoken.verify(token, secret);
    } catch (error) {
      return false;
    }
  },
};

/* 
// 测试JWT
const token = JWT.generate({ name: "admin" }, "10s");
console.log("测试JWT", JWT.verify(token));

setTimeout(() => {
  console.log("测试JWT-延时器", JWT.verify(token));
}, 11000); 
 */

module.exports = JWT;
